//All four rows (without Event Listeners ) created and saved in TT_GUI7.java
//TT_GUI9.java: Draw GUI of Page1 and initialises the CBoxes from database tables.
import java.sql.*;
//import javax.sql.*;
import java.util.*;
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TT_GUI{
public static void main(String[] args){
EventQueue.invokeLater(new Runnable()
{
public void run(){
myFrame frame=new myFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
class myFrame extends JFrame{
//JdbcConnection myCon;
//Connection con;
Statement stmt;
ResultSet rset; // = stmt.executeQuery("select max(studentid) from student");
String qry;
int qry_op;
myFrame(){
setTitle("Administrator Screen");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
JdbcConnection myCon = new JdbcConnection();
try
{
Connection con = myCon.conn();//Get a Connection object
stmt = con.createStatement();//Get a Statement object
}
catch(SQLException e)
{
System.out.println(e.toString());
}
Scanner in = new Scanner(System.in);
JPanel TTPanel = new JPanel(); //New Panel to be addded to frame
page1rowTypeA Trow = new page1rowTypeA(TTPanel, "Batch", initialOptions("batch"), 25);
page1rowTypeA Crow = new page1rowTypeA(TTPanel, "Course", initialOptions("course"), 60);
page1rowTypeA Grow = new page1rowTypeA(TTPanel, "Room", initialOptions("room"), 95);
page1rowTypeA Rrow = new page1rowTypeA(TTPanel, "teacher", initialOptions("teacher"), 130);
add(TTPanel, BorderLayout.CENTER);//adds TTPanel to the frame
}
public String[] initialOptions( String tname )
{
int noOfRows=0;
qry=new String("select count(*) from "+tname);//Execute queries and/or updates
String[] CBoxOptions = null;
try
{
rset=stmt.executeQuery(qry);
while(rset.next())
{
noOfRows = rset.getInt(1);
}
CBoxOptions = new String[noOfRows];
qry=new String("select * from "+tname);//Execute queries and/or updates
rset=stmt.executeQuery(qry);
for(int count=0; rset.next(); count++)
{
CBoxOptions[count] = rset.getString(1);
}
}
catch(Exception e)
{
System.out.println(e.toString());
}
return (CBoxOptions);
}
public void insert(String itemToInsert, String tName)
{
qry = "Insert into "+tName+" values("+itemToInsert+")";
try{
qry_op = stmt.executeUpdate(qry);
}
catch(SQLException e)
{
System.out.println(e.toString());
}
if(qry_op == 1)
System.out.println(itemToInsert+" inserted in "+tName);
}
public void delete(String itemToDelete, String tName)
{
qry = "delete from "+tName+" where id = "+itemToDelete;
try
{
qry_op = stmt.executeUpdate(qry);
}
catch(SQLException e)
{
System.out.println(e.toString());
}
if(qry_op == 1)
System.out.println(itemToDelete+" Deleted in "+tName);
}
public void update(String oldItem, String newItem, String tName)
{
qry = "Update "+tName+" set id = "+newItem+" where id = "+oldItem;
try
{
qry_op = stmt.executeUpdate(qry);
}
catch(SQLException e)
{
System.out.println(e.toString());
}
if(qry_op == 1)
System.out.println("Item "+oldItem+" Updated to "+newItem+" in "+tName);
}
private static final int DEFAULT_WIDTH = 400;
private static final int DEFAULT_HEIGHT = 400;
}/*
class Action1 implements ActionListener{
public void actionPerformed(ActionEvent event)
{
System.out.println("Event generated(comboBox)");
String input1 = tf1.getText();
String input2= tf2.getText();
myCBox.addItem(input1+" "+input2);
}
}*/
class page1rowTypeA{
page1rowTypeA(JPanel myPanel, String LabelName,String[] CBoxOptions, int posY){
JLabel myLabel = new JLabel(LabelName);
JComboBox myCBox=new JComboBox(CBoxOptions);
tf1 = new JTextField("Insert "+LabelName);
// tf2 = new JTextField("input2..");
btnTEdit = new JButton("Insert");//Insert Delete
addTextfieldsToMyInnerPanel();
myInnerPanel.add(btnTEdit);//add btnTEdit to myInnerPanel
JPanel OPanel = new JPanel();
OPanel.add(myLabel);// myLabel.setBounds(25, posY, 70, 30);//add faceLabel to OPanel
OPanel.add(myCBox); //myCBox.setBounds(100, posY, 70, 30);//add faceCBox to OPanel
OPanel.add(myInnerPanel);// myInnerPanel.setBounds(175, posY, 70, 30);//add inner panel to OPanel
myPanel.add(OPanel);//add OPanel to myPanel
//OPanel.setBounds(25, posY, 40, 300);
}
void addTextfieldsToMyInnerPanel(){
myInnerPanel.add(tf1);//add tf1 to myInnerPanel
// myInnerPanel.add(tf2);//add tf2 to myInnerPanel
}
protected JPanel myInnerPanel = new JPanel();
public JButton btnTEdit;
public JTextField tf1;
// public JTextField tf2;
}/*
class page1rowTypeB extends page1rowTypeA{
page1rowTypeB(JPanel myPanel, String LabelName,String[] CBoxOptions, int posY)
{
super(myPanel, LabelName, CBoxOptions, posY);
}
void addTextfieldsToMyInnerPanel(){
myInnerPanel.add(tf1);//add tf1 to myInnerPanel
myInnerPanel.add(tf2);//add tf2 to myInnerPanel
}
public JTextField tf2;
}*/
/*class page1rowTypeB{
page1rowTypeB(JPanel myPanel, String LabelName,String[] CBoxOptions, int posY){
JLabel myLabel = new JLabel(LabelName);
JComboBox myCBox=new JComboBox(CBoxOptions);
JPanel myInnerPanel = new JPanel();
tf1 = new JTextField("Insert "+LabelName);
// tf2 = new JTextField("input2..");
btnTEdit = new JButton("Insert");//Insert Delete
myInnerPanel.add(tf1);//add tf1 to myInnerPanel
// myInnerPanel.add(tf2);//add tf2 to myInnerPanel
myInnerPanel.add(btnTEdit);//add btnTEdit to myInnerPanel
JPanel OPanel = new JPanel();
OPanel.add(myLabel);// myLabel.setBounds(25, posY, 70, 30);//add faceLabel to OPanel
OPanel.add(myCBox); //myCBox.setBounds(100, posY, 70, 30);//add faceCBox to OPanel
OPanel.add(myInnerPanel);// myInnerPanel.setBounds(175, posY, 70, 30);//add inner panel to OPanel
myPanel.add(OPanel);//add OPanel to myPanel
//OPanel.setBounds(25, posY, 40, 300);
}
JButton btnTEdit;
public JTextField tf1;
// public JTextField tf2;
}*/